iT邦幫忙

2022 iThome 鐵人賽

DAY 7
0

昨天我們看完了甚麼是JSX後,今天是時候動動手來試試看各種有關JSX的功能了吧。
我們一樣用的是freecodecamp作為我們練習的工具,因為這樣可以挑選想要學習或練習的項目來挑戰!

創建一個複雜的 JSX 元素
有關嵌套JSX的幾件事情我們必須要先知道,那就是他必須返回單一個element,父元素必須包裝所有其他等級的元素
如果沒有用父元素包裝起來的話就不會被轉譯成功
例:
這是一個有效包裝的例子

<div>
  <p>Paragraph One</p>
  <p>Paragraph Two</p>
  <p>Paragraph Three</p>
</div>

而這是無效的

<p>Paragraph One</p>
<p>Paragraph Two</p>
<p>Paragraph Three</p>

下面做一個完整的範例

const JSX = <div>
  <h1>Heading.</h1>
  <p>Paragraph</p>
 <ul>
  <li>Coffee</li>
  <li>Tea</li>
  <li>Milk</li>
</ul>
</div>; 

這個範例定義一個新的JSX,它會按順序呈現div包含以下元素的 a:
一個h1、一個p和一個包含三個li項目的無序列表。
像在做這種多個元素的情況的時後,我們可以把他們全部放在括號裡面,但是這並不是強制要求的,當然你也可以選擇不將他們放一起,另外,如果刪除div,JSX 就不會再編譯,這點很重要,因為它也適用於在 React 組件中return JSX 元素時。

在 JSX 中添加註釋
當我們撰寫程式的時候,常常會去參考別人的範例,但是經常會出現看不懂的情況,這時候註解的功能就顯得非常重要了,因為添加註解可以幫助你理解這行程式碼的作用,而每一種語言的註解方式都不盡相同,而JSX利用的就是{/* */}
來框住需要註解的部分。
就像這樣

const JSX = (
  <div>
    <h1>This is a block of JSX</h1>
    <p>Here's a subtitle</p>
    {/* hi */}
  </div>
);

其中的 {/* hi */} 就是註解。

在 JSX 中定義一個 HTML 類
到目前為止,HTML 和 JSX 看起來幾乎完全一樣,JSX 的其中一個關鍵區別是不能使用這個詞class來定義 HTML 。這是因為class它是 JavaScript 中的保留字。JSX 使用className來代替,這被稱作駝峰命名法,因為中間的字母用大寫而不是小寫,例如,JSX 中的單擊事件是onClick,而不是onclick,雖然這個區別可能很不容易被注意到,但他也很重要。
所以,我們現在要來創建一個className

const JSX = (
  <div className='myDiv'>
    <h1>Add a class </h1>
  </div>
);

這裡將我們的className命名為myDiv

那今天的介紹就先告一段落了,明天再繼續吧!

參考連結:
https://www.freecodecamp.org/learn/


上一篇
[DAY06]認識什麼是JSX?
下一篇
[DAY08]甚麼是Hook?
系列文
進階前端網頁設計-初心者的30天React學習及應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言